package com.jzo2o.customer.model.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 银行账户实体类
 * 对应数据库表：bank_account
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class BankAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 服务人员/机构ID（注意：该字段作为业务主键，但非自增主键）
     */
    @TableId(value = "id", type = IdType.NONE) // 不使用自增，ID由业务提供
    private Long id;

    /**
     * 类型，2：服务人员，3：服务机构
     */
    private Integer type;

    /**
     * 户名
     */
    private String name;

    /**
     * 银行名称
     */
    private String bankName;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 区
     */
    private String district;

    /**
     * 网点（支行）
     */
    private String branch;

    /**
     * 银行账号
     */
    private String account;

    /**
     * 开户证明（文件路径或URL）
     */
    private String accountCertification;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}